home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tiger Disk 9
/
Tiger_Disk_009_19xx_Tiger-Crew-Disk_de_Side_B.d64
/
-input -routine-
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
4KB
|
129 lines
29210 poke53280,6:poke53281,6
29220 rem anleitung
29230 print"[147]unterprogramm 'input at'"
29240 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
29250 print"in den 3 folgenden beispielen wird die"
29260 print"anwendung des unterprogramms erklaert."
29270 print"anschliessend koennen sie per knopfdruck";
29280 print"alle beispiele loeschen, damit sich im "
29290 print"speicher nur noch das unterprogramm"
29300 print"befindet."
29310 print"dieser vorgang ist jedoch erst nach"
29320 print"der meldung 'ready' beendet[160]!!"
29330 print"sie koennen dann entweder ihr eigenes"
29340 print"programm dahinter oder davor schreiben,"
29350 print"oder es mit hilfe eines merge-programms"
29360 print"an ein bereits geschriebenes programm"
29370 print"anhaengen!"
29380 print"die zahlen vor den beispielen stellen"
29390 print"eine beliebige zeilennummer in ihrem"
29400 print"programm dar!"
29410 q1=24:q2=14:gosub30400:print"[158]b[146]eispiele[154]";
29420 geti$:ifi$=""then29420
29430 ifi$<>"b"then29420
29440 print"[147]1.beisp.: anforderung einer zahl:"
29450 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
29460 print"120 q1=22:q2=15:q3=6:q7=1:gosub30000"
29470 print"bedeutung:"
29480 print"q1 = zeile der eingabe"
29490 print"q2 = spalte der eingabe"
29500 print"q3 = maximale zeichenzahl
29510 [153]"q7 = 1 wenn nur zahlen zulaessig
29520 print"was daraufhin passiert, sehen sie in"
29530 print"zeile 12 spalte 15."
29540 print"machen sie jetzt die geforderte eingabe"
29550 print"und druecken sie anschliessend 'return'"
29560 q1=22:q2=15:q3=6:q7=1:gosub30000"
29570 q1[178]18:q2[178]0:[141]30400
29580 [153]"ihre eingabe steht dann im string q4$."
29590 [153]"q4$ = "q4$"cont"
29600 q1[178]24:q2[178]3:[141]30400:[153]"sysnwaitaechstes beisp. gwaitleiches beisp.cont";
29610 [161]i$:[139]i$[178]""[167]29610
29620 [139]i$[178]"g"[167]29440
29630 [139]i$[179][177]"n"[167]29610
29640 [153]"load2.beisp.: anforderung eines strings"
29650 [153]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab("
29660 [153]"120 q1=5:q2=26:q3=6:q7=0:gosub30000"
29670 [153]"bedeutung:"
29680 [153]"q1 = zeile der eingabe"
29690 [153]"q2 = spalte der eingabe"
29700 [153]"q3 = maximale zeichenzahl
29710 print"q7 = 0 wenn alle zeichen zulaessig"
29720 print"was daraufhin passiert, sehen sie in"
29730 print"zeile 5 spalte 26."
29740 print"machen sie jetzt die geforderte eingabe"
29750 print"und druecken sie anschliessend 'return'"
29760 q1=5:q2=26:q3=10:q7=0:gosub30000"
29770 q1[178]19:q2[178]0:[141]30400
29780 [153]"ihre eingabe steht dann im string q4$."
29790 [153]"q4$ = "q4$"cont"
29800 q1[178]24:q2[178]3:[141]30400:[153]"sysnwaitaechstes beisp. gwaitleiches beisp.cont";
29810 [161]i$:[139]i$[178]""[167]29810
29820 [139]i$[178]"g"[167]29640
29830 [139]i$[179][177]"n"[167]29810
29840 [153]"load3.beisp.: drucken an beliebiger stelle"
29850 [153]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab("
29860 [153]"140 q1=22:q2=5:gosub30000
29870 print"150 print"chr$(34);"test";chr$(34)
29880 print"bedeutung:"
29890 print"q1 = zeile des drucks"
29900 print"q2 = spalte des drucks"
29910 print"was daraufhin passiert, sehen sie in "
29920 print"zeile 21 und spalte 5. "
29930 print"das wort test wird in zeile 22 und "
29940 print"spalte 15 gedruckt."
29950 q1=21:q2=5:gosub30400:print"test"
29960 q1=24:q2=2:gosub30400:print"[158]l[146]oeschen der beispielprogrammzeilen";
29970 geti$:ifi$=""then29970
29980 ifi$<>"l"then29970
29990 goto50000
30000 rem ***** input at ***************
30010 q8=0:q9=0:qb=q1:qc=q2
30020 ifq1>-1thengosub30400
30030 q1=peek(214):q2=peek(211)
30040 forii=1toq3:print" ";:next
30050 gosub30400
30060 q5=0:q4$="":poke1024+40*q1+q2,191
30070 forii=631to640:pokeii,0:next
30080 q5=q5+1
30090 getq6$:ifq6$=""then30090
30100 ifasc(q6$)=34then30090
30110 ifasc(q6$)=32andq5<=1then30090
30120 ifasc(q6$)=13thenprint:goto30350
30130 ifasc(q6$)=20orasc(q6$)=157then30230
30140 ifq7=1then30170
30150 ifasc(q6$)<32orasc(q6$)>90then30090
30160 goto30280
30170 ifasc(q6$)>=48andasc(q6$)<=57then30280
30180 ifq8=1then30200
30190 ifasc(q6$)=46thenq8=1:goto30280
30200 ifq9=1then30220
30210 ifasc(q6$)=45andq5=1thenq9=1:goto30280
30220 goto30090
30230 ifq5<=1then30090
30240 q2=q2-1:gosub30400:q8$=mid$(q4$,q5-1,1):ifq8$="."thenq8=0
30250 ifq8$="-"thenq9=0
30260 print" ":gosub30400
30270 q4$=left$(q4$,q5-2):q5=q5-1:goto30090
30280 q4$=q4$+q6$
30290 print"";q6$:q2=q2+1:gosub30400
30300 ifq5<q3then30080
30310 q5=q3+1:getq6$:ifq6$=""then30310
30320 ifasc(q6$)=20orasc(q6$)=157then30230
30330 ifasc(q6$)=13thenprint:goto30350
30340 goto30310
30350 ifq4$<>""then30380
30360 ifqa=0then30000
30370 q1=qb:q2=qc:gosub30400:print" [146]";
30380 qa=0:q7=0
30390 return
30400 rem *** cursor positionieren *****
30410 poke214,q1:poke211,q2:sys58640
30420 return
50000 rem *** up zeilen loeschen *******
50010 qs=29200:qe=29990:kn=qs
50020 print"[147]";:ifkn=qethenfori=50000to50050step10:printi:next:goto50040
50030 kn=kn+10:print"[147]"kn:print"kn="kn":qe="qe":goto50020"
50040 poke631,19:fori=632to640:pokei,13:next:poke198,7:ifkn<>qethenend
50050 print"[154]":end